home *** CD-ROM | disk | FTP | other *** search
/ Deutsche Edition 1 / Deutsche Edition 1.iso / amok / 071-080 / amok73 / ums / interfaces / ums.mod next >
Text File  |  1993-11-04  |  8KB  |  224 lines

  1. MODULE ums;
  2.  
  3. (***
  4.    ums.library interface for Amiga-Oberon,
  5.    official documentation for ums.library, © 91 by Martin Horneffer
  6.  
  7.    History:
  8.    13.12.91: started history; small modifications to V8; English comments
  9. ***)
  10.  
  11. IMPORT Utility, Exec, Intuition, SYSTEM;
  12.  
  13. CONST
  14.   libName = "ums.library";
  15.  
  16.   libVersion = 9;
  17.  
  18. VAR
  19.   base * : Exec.LibraryPtr;
  20.  
  21. TYPE
  22.   (* msgs are identified by the following type *)
  23.   NUM *     = LONGINT;
  24.  
  25.   (* general types *)
  26.  
  27. CONST
  28.   MaxMsgs *    = MAX(NUM);
  29.  
  30. TYPE
  31.   APTR *    = Exec.APTR;
  32.   STRPTR *    = POINTER TO ARRAY MAX(INTEGER)-1 OF CHAR;
  33.  
  34.   oldMsg *    = ARRAY 16 OF STRPTR;
  35.   oldMsgPtr *    = POINTER TO oldMsg;
  36.  
  37.  
  38. PROCEDURE Login        *{base,-30}( user{2}    : ARRAY OF CHAR;
  39.                                      passwd{3}    : ARRAY OF CHAR): LONGINT;
  40.  
  41. PROCEDURE Logout    *{base,-36}( account{2}    : LONGINT);
  42.  
  43. PROCEDURE PutUMSMsg    *{base, -42}( account{2}: LONGINT;
  44.                                          Msg{3}    : oldMsgPtr): INTEGER;
  45.  
  46. PROCEDURE GetMsgHdr    *{base, -48}( account{2}: LONGINT;
  47.                                       MsgNum{3}    : NUM): oldMsgPtr;
  48.  
  49. PROCEDURE GetMsgTxt    *{base, -54}( account{2} : LONGINT;
  50.                                       Msg{3}     : oldMsgPtr): INTEGER;
  51.  
  52. PROCEDURE FreeMsg    *{base, -60}( account{2}: LONGINT;
  53.                                       Msg{3}    : oldMsgPtr);
  54.  
  55. PROCEDURE NextNew    *{base, -66}( account{2}: LONGINT;
  56.                                       MsgNum{3}    : NUM): NUM;
  57.  
  58. PROCEDURE SearchID    *{base, -72}( account{2}: LONGINT;
  59.                                       id{3}    : ARRAY OF CHAR): NUM;
  60.  
  61. PROCEDURE ChangeID    *{base, -78}( account{2}: LONGINT;
  62.                                       MsgNum{3}    : NUM;
  63.                                       id{4}    : ARRAY OF CHAR): BOOLEAN;
  64.  
  65. PROCEDURE ChainUp    *{base, -84}( account{2}: LONGINT;
  66.                                       MsgNum{3}    : NUM): NUM;
  67.  
  68. PROCEDURE ChainDn    *{base, -90}( account{2}: LONGINT;
  69.                                       MsgNum{3}    : NUM): NUM;
  70.  
  71. PROCEDURE ChainRt    *{base, -96}( account{2}: LONGINT;
  72.                                       MsgNum{3} : NUM): NUM;
  73.  
  74. PROCEDURE ChainLt    *{base,-102}( account{2}: LONGINT;
  75.                                       MsgNum{3}    : NUM): NUM;
  76.  
  77. PROCEDURE GetGlobal    *{base,-108}( account{2}: LONGINT;
  78.                                       name{3}    : ARRAY OF CHAR;
  79.                       data{4}    : ARRAY OF CHAR);
  80.  
  81. PROCEDURE DumpConfig    *{base,-114}( account{2}: LONGINT) ;
  82.  
  83. PROCEDURE ErrNum    *{base,-120}( account{2}: LONGINT): INTEGER;
  84.  
  85. PROCEDURE ErrTxt    *{base,-126}( account{2}: LONGINT): STRPTR;
  86.  
  87. PROCEDURE DeleteMsg    *{base,-132}( account{2}: LONGINT;
  88.                                       MsgNum{3}    : NUM): BOOLEAN;
  89.  
  90. PROCEDURE ChangeAttributes*{base,-138}( account{2}: LONGINT;
  91.                                       MsgNum{3} : NUM;
  92.                                       att{4}    : ARRAY OF CHAR): BOOLEAN;
  93.  
  94. PROCEDURE NextStatus    *{base,-144}( account{2}: LONGINT;
  95.                                       from{3}    : NUM;
  96.                                       mask{4}    : SET;
  97.                                       status{5}    : SET): NUM;
  98.  
  99. (*** definetly obsolete
  100. PROCEDURE SelectStatus    *{base,-150}( account{2}: LONGINT;
  101.                                       set{3}    : SET;
  102.                                       mask{4}    : SET;
  103.                                       status{5}    : SET): NUM;
  104.  
  105. PROCEDURE SelectGroup    *{base,-156}( account{2}: LONGINT;
  106.                                       set{3}    : SET;
  107.                                       group{4}    : ARRAY OF CHAR): NUM;
  108. ***)
  109.  
  110. PROCEDURE SetStatus    *{base,-162}( acc{2}    : LONGINT;
  111.                                       MsgNum{3}    : NUM;
  112.                                       unset{4}    : SET;
  113.                                       set{5}: SET);
  114.  
  115. PROCEDURE PrevStatus    *{base,-168}( acc{2}    : LONGINT;
  116.                                       from{3}    : NUM;
  117.                                       mask{4}    : SET;
  118.                                       status{5}    : SET): NUM;
  119.  
  120. PROCEDURE SelStatus    *{base,-174}( acc{2}    : LONGINT;
  121.                                       set{3}    : SET;
  122.                                       unset{4}    : SET;
  123.                                       mask{5}    : SET;
  124.                                       status{6}    : SET): NUM;
  125.  
  126. PROCEDURE SelGroup    *{base,-180}( acc{2}    : LONGINT;
  127.                                       set{3}    : SET;
  128.                                       unset{4}    : SET;
  129.                                       group{5}    : ARRAY OF CHAR): NUM;
  130.  
  131. PROCEDURE GetStatus    *{base,-186}( acc{2}    : LONGINT;
  132.                                       MsgNum{3}    : LONGINT): SET;
  133.  
  134. PROCEDURE FlushUMS    *{base,-192};
  135.  
  136. PROCEDURE CleanMB    *{base,-198}(): INTEGER;
  137.  
  138. PROCEDURE QuitUMS    *{base,-204};
  139.  
  140.  
  141. (*** V8: ***)
  142.  
  143. PROCEDURE UMSARexxQuery    *{base,-210}();
  144.  
  145. (*** V9: ***)
  146.  
  147. PROCEDURE AllocUMSPattern*{base,-216}( pattern{2}: ARRAY OF CHAR;
  148.                                        case{3}    : BOOLEAN): APTR;
  149.  
  150. PROCEDURE FreeUMSPattern*{base,-222}( pHandle{2}: APTR );
  151.  
  152. PROCEDURE MatchUMSPattern*{base,-228}( pHandle{2}: APTR;
  153.                                       string{3}    : ARRAY OF CHAR): BOOLEAN;
  154.  
  155. PROCEDURE ExportedMsg    *{base,-234}( acc{2}    : LONGINT;
  156.                                       num{3}    : LONGINT);
  157.  
  158. PROCEDURE CannotExport    *{base,-240}( acc{2}    : LONGINT;
  159.                                       num{3}    : LONGINT;
  160.                                       error{4}    : ARRAY OF CHAR): BOOLEAN;
  161.  
  162. PROCEDURE LogUMS    *{base,-246}( acc{2}    : LONGINT;
  163.                                       level{4}    : LONGINT;
  164.                                       format{5}    : ARRAY OF CHAR;
  165.                                       args{6}     : ARRAY OF SYSTEM.ADDRESS);
  166. PROCEDURE LogUms    *{base,-246}( acc{2}    : LONGINT;
  167.                                       level{4}    : LONGINT;
  168.                                       format{5}    : ARRAY OF CHAR;
  169.                                       args{6}.. : LONGINT);
  170.  
  171. PROCEDURE UMSRLogin    *{base,-252}( server{2}    : ARRAY OF CHAR;
  172.                                       user{3}    : ARRAY OF CHAR;
  173.                                       passwd{4}    : ARRAY OF CHAR): LONGINT;
  174.  
  175. PROCEDURE WriteUMSMsg        *{base,-258}( acc{2}    : LONGINT;
  176.                                              tagItems{3}: ARRAY OF Utility.TagItem): LONGINT;
  177. PROCEDURE WriteUMSMsgTags    *{base,-258}( acc{2}    : LONGINT;
  178.                                           tagItems{3}..: Utility.Tag): LONGINT;
  179.  
  180. PROCEDURE ReadUMSMsg        *{base,-264}( acc{2}    : LONGINT;
  181.                                              tagItems{3}: ARRAY OF Utility.TagItem): BOOLEAN;
  182. PROCEDURE ReadUMSMsgTags    *{base,-264}( acc{2}    : LONGINT;
  183.                                              tagItems{3}..: Utility.Tag): BOOLEAN;
  184.  
  185. PROCEDURE FreeUMSMsg        *{base,-270}( acc{2}    : LONGINT;
  186.                                           msgNum{3}    : LONGINT);
  187.  
  188. PROCEDURE UMSSelect        *{base,-266}( acc{2}    : LONGINT;
  189.                                           tagItems{3}: ARRAY OF Utility.TagItem): LONGINT;
  190. PROCEDURE UMSSelectTags        *{base,-276}( acc{2}    : LONGINT;
  191.                                           tagItems{3}..: Utility.Tag): LONGINT;
  192.  
  193. PROCEDURE UMSSearch        *{base,-282}( acc{2}    : LONGINT;
  194.                                           tagItems{3}: ARRAY OF Utility.TagItem): LONGINT;
  195. PROCEDURE UMSSearchTags        *{base,-282}( acc{2}    : LONGINT;
  196.                                           tagItems{3}..: Utility.Tag): LONGINT;
  197.  
  198. PROCEDURE ReadUMSConfig        *{base,-288}( acc{2}: LONGINT;
  199.                                           tagItems{3}: ARRAY OF Utility.TagItem): STRPTR;
  200. PROCEDURE ReadUMSConfigTags    *{base,-288}( acc{2}: LONGINT;
  201.                                               tagItems{3}..: Utility.Tag): STRPTR;
  202.  
  203. PROCEDURE FreeUMSConfig        *{base,-294}( acc{2}    : LONGINT;
  204.                                               str{3}    : STRPTR);
  205.  
  206. PROCEDURE WriteUMSConfig    *{base,-300}( acc{2}: LONGINT;
  207.                                           tagItems{3}: ARRAY OF Utility.TagItem): BOOLEAN;
  208. PROCEDURE WriteUMSConfigTags    *{base,-300}( acc{2}: LONGINT;
  209.                                               tagItems{3}..: Utility.Tag): BOOLEAN;
  210.  
  211. PROCEDURE PrivateServerCall    *{base,-306}( command{2}: LONGINT;
  212.                                               arg{3}    : APTR): LONGINT;
  213.  
  214. BEGIN
  215.   base := Exec.OpenLibrary( libName, libVersion);
  216.   IF base=NIL THEN
  217.     SYSTEM.SETREG(0,Intuition.DisplayAlert(0,"\x00\x64\x14missing ums.library\o\o",50));
  218.     HALT(0)
  219.   END;
  220.  
  221. CLOSE
  222.   IF base#NIL THEN Exec.CloseLibrary(base) END;
  223. END ums.
  224.